package com.tsystems.entities;

import java.io.Serializable;
import java.util.UUID;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Entity
public class Employee implements Serializable{


	private static final long serialVersionUID = 5902507313808859089L;
	
	@Id
	private String id;
	
	@PrePersist
	public void prepareId() {
		if (id == null) {
			id = UUID.randomUUID().toString();
		}
	}
	
	@NotNull(message="Имя должно быть задано.")
	@Size( max=20, message= "Имя должно быть меньше 20 символов.")
	@Column(name = "NAME", nullable = false, length = 20)
	private String name;
	
	@NotNull(message="Фамилия должна быть задана.")
	@Size( max=20, message= "Фамилия должна быть меньше 20 символов.")
	@Column(name = "SURNAME", nullable = false, length = 20)
	private String surname;
	
	@NotNull(message="Имя пользователя должно быть задано.")
	@Size( max=20, message= "Имя пользователя должно быть меньше 20 символов.")
	private String login;
	private String password;
	
	Employee(){
		
	}
	
	public Employee(String name, String surname, String login, String password) {
		super();
		this.name = name;
		this.surname = surname;
		this.login = login;
		this.password = password;
	}



	// getter and setter

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSurname() {
		return surname;
	}

	public void setSurname(String surname) {
		this.surname = surname;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	
}
